﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using VentaElectrodomesticos.Contrato;
using VentaElectrodomesticos.AbmRol;
using VentaElectrodomesticos.Negocio;
using VentaElectrodomesticos.Datos;
using VentaElectrodomesticos.GUI.Base;

namespace VentaElectrodomesticos.GUI.AbmRol
{

    public partial class FormAbmRol : BaseListado<RolNegocio, FormRol, RolDAO, Rol>
    {
        private static FormAbmRol instance;

        FuncionalidadNegocio funcionalidadNegocio = new FuncionalidadNegocio();

        List<Funcionalidad> funcionalidades;

        public static FormAbmRol getInstance()
        {
            if (instance == null)
                instance = new FormAbmRol();
            instance.BringToFront();
            return instance;
        }


        public FormAbmRol()
        {
            InitializeComponent();
            this.funcionalidades = funcionalidadNegocio.getAll();
            hideFilters();            
        }

        protected override DataGridView DgList
        {
            get
            {
                return this.listadoRoles;
            }
        }

        protected override void initTable(DataGridView table)
        {
            
            
        }

        protected override void OnClosed(EventArgs e)
        {
            instance = null;
            base.OnClosed(e);
        }

        protected override void initForm(FormRol formRol)
        {
            formRol.setFuncionalidades(funcionalidades);
        }

        protected override void doFilter()
        {
            this.setList(getObjectList());
        }

        protected override void cumpleValidaciones()
        {
            //No hay nada para validar aca...
        }
    }
}
